package com.yugong.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;
import com.yugong.entity.dto.Course;
import com.yugong.entity.vo.request.CourseRequestVO;
import com.yugong.entity.vo.response.CourseListResponseVO;

import java.util.List;

/**
 * 课程业务逻辑接口
 *
 * @author yugong
 * @date 2024/2/18
 */

public interface CourseService extends IService<Course> {
    /**
     * 根据课程名查询课程信息
     *
     * @param pageNum    当前页
     * @param pageSize   当前页数据个数
     * @param courseName 课程名
     * @return 课程信息
     */
    PageInfo<CourseListResponseVO> findCourse(Integer pageNum, Integer pageSize, String courseName);

    /**
     * 新增课程
     *
     * @param courseRequestVO 课程请求实体类
     * @return 数据库影响行数
     */
    int addCourse(CourseRequestVO courseRequestVO);

    /**
     * 修改课程
     *
     * @param courseRequestVO 课程请求实体类
     * @return 数据库影响行数
     */
    int updateCourseByCourseNo(CourseRequestVO courseRequestVO);

    /**
     * 删除课程
     *
     * @param courseNo 课程号
     * @return 数据库影响行数
     */
    int deleteCourseByCourseNo(String courseNo);

    /**
     * 查询课程
     *
     * @return 课程
     */
    List<CourseListResponseVO> findCourse();
}
